package com.mashibing.jvm.c4_RuntimeDataAreaAndInstructionSet;

public class Hello_03 {
    public static void main(String[] args) {
        Hello_03 h = new Hello_03();
        System.out.println(h.m(3));
    }

    public int m(int n){
       if(n == 1) return 1;
       else return n*m(n-1);
    }

    /*
    *  如下指令要能画图解释清除，就说明....
 0 iload_1
 1 iconst_1
 2 if_icmpne 7 (+5)
 5 iconst_1
 6 ireturn
 7 iload_1
 8 aload_0
 9 iload_1
10 iconst_1
11 isub
12 invokevirtual #5 <com/mashibing/jvm/c4_RuntimeDataAreaAndInstructionSet/Hello_03.m>
15 imul
16 ireturn
    * */
}
